import acroMLCulture from '../acroML.Culture.mjs';
import AcroMLEngine from '../acroML.Engine.mjs';
let acroMLEasyUI={
  loadLocaleDD(rootPath,LCID){
    //使用easyui官方的翻译字典
    //console.log('LCID:',AcroMLEngine.instance.LCID);
    let tag=window.navigator.language;
    if (LCID){
      let lng=acroMLCulture.findCultureByLCID(LCID);
      /**easyui的语言文件的语言标识符，跟Google_Abbreviate和BaiDu_Abbreviate不一样，比较接近tag */
      if (lng) tag=lng.Tag;
    }
    //把zh-CN修改为zh_CN
    tag=tag.replace('-','_');
    if (tag=='en_US') tag='en';
    let easyUIDDFile=rootPath+'easyui-lang-'+tag+'.js';
    if (window.acroml_import) return window.acroml_import(easyUIDDFile,{src_esVersion:6});
    else return new Promise(function(resolve,reject){
      //console.log(easyUIDDFile);
      //easyui的locale**.js是es6文件，有export语法
      //要么用支持es6的import函数，要么转成es5
      //但是用import()和require()都会被webpack打包时会翻译成require内部的模组，导致找不到此模组
      try{
        let easyUIDD=window.acroml_require(easyUIDDFile,{src_esVersion:6});
        resolve(easyUIDD);
      }
      catch(e){
        reject(e);
      }
    });
  },
  loadLocaleDD_acroprise:function(rootDir){
    //使用aroprise的方案，用自己的翻译字典
    let easyUIDDFile=rootDir+'easyui-lang-en.js';
    //console.log(easyUIDDFile);
    return new Promise(function(resolve,reject){
      try{
        function translate(easyUIDD){
          for(let catalog in easyUIDD){
            let dd=easyUIDD[catalog];
            for(let key in dd){
              let value=dd[key];
              if (Array.isArray(value)){
                for(let i=0;i<value.length;i++){
                  value[i]=AcroMLEngine.instance.getDisplayValue(value[i]);
                }
              }
              else{
                dd[key]=AcroMLEngine.instance.getDisplayValue(value);
              }
            }
          }
        }
        if (window.acroml_import) window.acroml_import(easyUIDDFile).then(function(easyUIDD){
          translate(easyUIDD);
          resolve(easyUIDD);
        },reject);
        else{
          let easyUIDD=acroml_require(easyUIDDFile,{esVersion:6});
          resolve(easyUIDD);
          //console.log(easyUIDD);
          resolve(easyUIDD);
        }
      }
      catch(e){
        reject(e);
      }
    });
  }
}
export default acroMLEasyUI;
export {acroMLEasyUI as easyUI};